/**
 * 获取cookie
 * @param {String} name 名称
 * @param {String} value 内容
 * @param {String} minutes 多少分钟后失效
 */
var setCookie = function(name, value, minutes) {
	minutes = minutes || 10080;
	var dateNow = new Date();
	dateNow.setMinutes(dateNow.getMinutes() + minutes);
	console.log(name + "=" + escape(value) + ";expires=" + dateNow.toGMTString())
	document.cookie = name + "=" + escape(value) + ";expires=" + dateNow.toGMTString();
}

/**
 * 获取cookie
 * @param {String} name 要获取的cookie的名称
 */
var getCookie = function(name) {
	var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");

	if(arr = document.cookie.match(reg)) return unescape(arr[2]);

	return null;
}

/**
 * 清除 cookie
 * @param {String} name 要清除的cookie的名称
 */
var removeCookie = function(name) {
	setCookie(name, "", -1);
}


/**
 * 排序的函数
 * @param {Object} name 要排序Object->{}
 */
var objKeySort=function(name) {
	//先用Object内置类的keys方法获取要排序对象的属性名，再利用Array原型上的sort方法对获取的属性名进行排序，newkey是一个数组
	var newkey = Object.keys(arys).sort();　　
	//console.log('newkey='+newkey);
	var newObj = {}; //创建一个新的对象，用于存放排好序的键值对
	for(var i = 0; i < newkey.length; i++) {
		//遍历newkey数组
		//console.log(newkey[i])
		newObj[newkey[i]] = arys[newkey[i]];
		//向新创建的对象中按照排好的顺序依次增加键值对
	}
	return newObj; //返回排好序的新对象
}
/*
 * @param {String} name 要生成sign
 * @result @param@value->tel10086
 */
var getSign=function(sign) {
	var jsonstr = JSON.stringify(objKeySort(sign));
	var str1 = jsonstr.replace(new RegExp('":"', 'g'), '');
	var str2 = str1.replace(new RegExp(',', 'g'), '&');
	var str3 = str2.replace(new RegExp('"', 'g'), '');
	var str4 = str3.substring(1, str3.length - 1);
	var appkey = 'bfe426b3e55dbdd9b6a5ead77ef8e3af';
	var temp = str4 + '&' + appkey;
	//console.log(temp);
	var sign = calcMD5(temp);
	//console.log(sign)
	return sign;
}

    /**
     * 根据请求参数名称 获取请求参数值
     * @param {String} name 参数名称
     */
    
var getQueryString=function(name) {
    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
    var r = window.location.search.substr(1).match(reg);
    if (r != null) {
        return unescape(r[2]);
    }
    return null;
}


/*
 * 获取 token
*/
var getToken=function(){
        var token =  getQueryString("Token");
        return token || "default";
   }

/**
 * ajax请求
 * @param {String} reqPath 地址
 * @param {Obj} paramArray 参数
 * @param {function} successCallBack 成功方法
 * @param {function} failuredCallBack 失败方法
 */
var Ajax=function (reqPath, paramArray, successCallBack, failuredCallBack) {
       // reqPath = reqPath + (reqPath.indexOf("?") == -1 ? "?" : "&") + "timeSerialize=" + (new Date()).getTime();
        var baseUrl = 'http://106.15.230.236:8888'; //http://106.15.230.236:8888
            paramArray = paramArray || {};
         if (!paramArray.accessToken) paramArray.accessToken =getToken();
	       $.ajax({
	        type: "GET",
	        dataType: "json",
	        data: paramArray,
	        url: baseUrl+reqPath,
	        success: function (data) {
	            if (data) {
	                if ($.isFunction(successCallBack)) {
	                    successCallBack(data);
                      }
	                if ($.isFunction(failuredCallBack)) {
                          failuredCallBack(data);
                       }
                }else{
                    alert("没有获取到数据!")
	            } 
	        },
	        error: function (data) {
                 alert(data.status+"错误!");
	         }
	    });
   }
